[INFO] fetching crate brotli 3.3.0...
[INFO] building brotli-3.3.0 against master#ff34b919075f35a1787659e9c448a34b06bab8de for issue-85264
[INFO] extracting crate brotli 3.3.0 into /workspace/builds/worker-9/source
[INFO] validating manifest of crates.io crate brotli 3.3.0 on toolchain ff34b919075f35a1787659e9c448a34b06bab8de
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate brotli 3.3.0
[INFO] finished tweaking crates.io crate brotli 3.3.0
[INFO] tweaked toml for crates.io crate brotli 3.3.0 written to /workspace/builds/worker-9/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b8d3c7d32411a8a080dafaf0df50c89f9bbe0454dace5f053be58db97fd2d5e0
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "b8d3c7d32411a8a080dafaf0df50c89f9bbe0454dace5f053be58db97fd2d5e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b8d3c7d32411a8a080dafaf0df50c89f9bbe0454dace5f053be58db97fd2d5e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b8d3c7d32411a8a080dafaf0df50c89f9bbe0454dace5f053be58db97fd2d5e0", kill_on_drop: false }`
[INFO] [stdout] b8d3c7d32411a8a080dafaf0df50c89f9bbe0454dace5f053be58db97fd2d5e0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d7dd126747d9798d9f6222681a6d59edad0359048e1d2276ac657d2deb060b90
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "d7dd126747d9798d9f6222681a6d59edad0359048e1d2276ac657d2deb060b90", kill_on_drop: false }`
[INFO] [stderr]    Compiling alloc-no-stdlib v2.0.1
[INFO] [stderr]    Compiling alloc-stdlib v0.2.1
[INFO] [stderr]    Compiling brotli-decompressor v2.3.1
[INFO] [stderr]    Compiling brotli v3.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/enc/input_pair.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |             try!( fmtr.write_fmt(format_args!("{:02x}", item)));
[INFO] [stdout]    |             ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/enc/input_pair.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |             try!( fmtr.write_fmt(format_args!("{:02x}", item)));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/enc/threading.rs:27:48
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub type LowLevelThreadError = std::boxed::Box<any::Any + Send + 'static>;
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn any::Any + Send + 'static`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/histogram.rs:101:3
[INFO] [stdout]     |
[INFO] [stdout] 101 |   #[inline(always)]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/histogram.rs:103:3
[INFO] [stdout]     |
[INFO] [stdout] 103 |   #[inline(always)]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/histogram.rs:105:3
[INFO] [stdout]     |
[INFO] [stdout] 105 |   #[inline(always)]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/histogram.rs:107:3
[INFO] [stdout]     |
[INFO] [stdout] 107 |   #[inline(always)]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/backward_references/mod.rs:641:3
[INFO] [stdout]     |
[INFO] [stdout] 641 |   #[inline(always)]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/backward_references/mod.rs:643:3
[INFO] [stdout]     |
[INFO] [stdout] 643 |   #[inline(always)]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/backward_references/mod.rs:645:3
[INFO] [stdout]     |
[INFO] [stdout] 645 |   #[inline(always)]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/backward_references/mod.rs:647:3
[INFO] [stdout]     |
[INFO] [stdout] 647 |   #[inline(always)]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/backward_references/mod.rs:649:3
[INFO] [stdout]     |
[INFO] [stdout] 649 |   #[inline(always)]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/backward_references/mod.rs:651:5
[INFO] [stdout]     |
[INFO] [stdout] 651 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/backward_references/mod.rs:653:5
[INFO] [stdout]     |
[INFO] [stdout] 653 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/backward_references/mod.rs:655:5
[INFO] [stdout]     |
[INFO] [stdout] 655 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/backward_references/mod.rs:657:5
[INFO] [stdout]     |
[INFO] [stdout] 657 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/backward_references/mod.rs:659:5
[INFO] [stdout]     |
[INFO] [stdout] 659 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/backward_references/mod.rs:661:3
[INFO] [stdout]     |
[INFO] [stdout] 661 |   #[inline(always)]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]    --> src/enc/parameters.rs:1:1
[INFO] [stdout]     |
[INFO] [stdout] 1   |   #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4   | / pub enum BrotliEncoderParameter {
[INFO] [stdout] 5   | |   BROTLI_PARAM_MODE = 0,
[INFO] [stdout] 6   | |   BROTLI_PARAM_QUALITY = 1,
[INFO] [stdout] 7   | |   BROTLI_PARAM_LGWIN = 2,
[INFO] [stdout] ...   |
[INFO] [stdout] 259 | |   UNUSED255=255,
[INFO] [stdout] 260 | | }
[INFO] [stdout]     | |_- not a function or static
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]   --> src/concat/mod.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout] 5  |   #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 6  | / pub enum BroCatliResult {
[INFO] [stdout] 7  | |   Success = 0,
[INFO] [stdout] 8  | |   NeedsMoreInput = 1,
[INFO] [stdout] 9  | |   NeedsMoreOutput = 2,
[INFO] [stdout] ...  |
[INFO] [stdout] 13 | |   BrotliFileNotCraftedForConcatenation = 127,
[INFO] [stdout] 14 | | }
[INFO] [stdout]    | |_- not a function or static
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]  --> src/ffi/compressor.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[no_mangle]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 9 | use core;
[INFO] [stdout]   | --------- not a function or static
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]   --> src/ffi/compressor.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 |   #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 27 | / pub enum BrotliEncoderOperation {
[INFO] [stdout] 28 | |   BROTLI_OPERATION_PROCESS = 0,
[INFO] [stdout] 29 | |   BROTLI_OPERATION_FLUSH = 1,
[INFO] [stdout] 30 | |   BROTLI_OPERATION_FINISH = 2,
[INFO] [stdout] 31 | |   BROTLI_OPERATION_EMIT_METADATA = 3,
[INFO] [stdout] 32 | | }
[INFO] [stdout]    | |_- not a function or static
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]   --> src/ffi/compressor.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 |   #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 36 | / pub enum BrotliEncoderMode {
[INFO] [stdout] 37 | |   BROTLI_MODE_GENERIC = 0,
[INFO] [stdout] 38 | |   BROTLI_MODE_TEXT = 1,
[INFO] [stdout] 39 | |   BROTLI_MODE_FONT = 2,
[INFO] [stdout] ...  |
[INFO] [stdout] 43 | |   BROTLI_MODE_FORCE_SIGNED_PRIOR = 6,
[INFO] [stdout] 44 | | }
[INFO] [stdout]    | |_- not a function or static
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]   --> src/ffi/compressor.rs:47:1
[INFO] [stdout]    |
[INFO] [stdout] 47 |   #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 48 | / pub struct BrotliEncoderState {
[INFO] [stdout] 49 | |   pub custom_allocator: CAllocator,
[INFO] [stdout] 50 | |   pub compressor: BrotliEncoderStateStruct<BrotliSubclassableAllocator>,
[INFO] [stdout] 51 | | }
[INFO] [stdout]    | |_- not a function or static
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]   --> src/ffi/broccoli.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 |   #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 16 | / pub struct BroccoliState {
[INFO] [stdout] 17 | |     more_data: *mut c_void,
[INFO] [stdout] 18 | |     current_data: [u8;120],
[INFO] [stdout] 19 | | }
[INFO] [stdout]    | |_- not a function or static
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]  --> src/ffi/multicompress/mod.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[no_mangle]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 8 | use core;
[INFO] [stdout]   | --------- not a function or static
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]    --> src/ffi/multicompress/mod.rs:192:1
[INFO] [stdout]     |
[INFO] [stdout] 192 |   #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^^^^
[INFO] [stdout] 193 |   #[repr(C)]
[INFO] [stdout] 194 | / pub struct BrotliEncoderWorkPool {
[INFO] [stdout] 195 | |   custom_allocator: CAllocator,
[INFO] [stdout] 196 | |   work_pool: enc::WorkerPool<enc::CompressionThreadResult<BrotliSubclassableAllocator>,
[INFO] [stdout] 197 | |                              UnionHasher<BrotliSubclassableAllocator>,
[INFO] [stdout] 198 | |                              BrotliSubclassableAllocator,
[INFO] [stdout] 199 | |                              (SliceRef<'static>, BrotliEncoderParams)>,
[INFO] [stdout] 200 | | }
[INFO] [stdout]     | |_- not a function or static
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enc/bit_cost.rs:200:11
[INFO] [stdout]     |
[INFO] [stdout] 200 |       let mut cur = &mut depth_histo[j];
[INFO] [stdout]     |           ----^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enc/histogram.rs:441:9
[INFO] [stdout]     |
[INFO] [stdout] 441 |     let mut h0val = &mut h0[i];
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enc/block_splitter.rs:320:11
[INFO] [stdout]     |
[INFO] [stdout] 320 |       let mut block_id_ptr = &mut block_id[byte_ix];
[INFO] [stdout]     |           ----^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enc/find_stride.rs:559:14
[INFO] [stdout]     |
[INFO] [stdout] 559 |         for (mut obe, be) in old_bit_entropy.iter_mut().zip(self.pop.iter_mut()) {
[INFO] [stdout]     |              ----^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `cur_stride`
[INFO] [stdout]   --> src/enc/stride_eval.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     cur_stride: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/enc/compress_fragment_two_pass.rs:43:3
[INFO] [stdout]    |
[INFO] [stdout] 43 |   core::mem::replace(commands, &mut remainder[1..]);
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/enc/compress_fragment_two_pass.rs:57:3
[INFO] [stdout]    |
[INFO] [stdout] 57 |   core::mem::replace(commands, &mut remainder[1..]);
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/enc/compress_fragment_two_pass.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     core::mem::replace(commands, &mut remainder[1..]);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/enc/compress_fragment_two_pass.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     core::mem::replace(commands, &mut remainder[1..]);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/enc/compress_fragment_two_pass.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     core::mem::replace(commands, &mut remainder[1..]);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/enc/compress_fragment_two_pass.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 86 |     core::mem::replace(commands, &mut remainder2[1..]);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/enc/compress_fragment_two_pass.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     core::mem::replace(commands, &mut remainder[1..]);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/enc/compress_fragment_two_pass.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     core::mem::replace(commands, &mut remainder2[1..]);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/enc/compress_fragment_two_pass.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     core::mem::replace(commands, &mut remainder[1..]);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/enc/compress_fragment_two_pass.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 107 |     core::mem::replace(commands, &mut remainder2[1..]);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/enc/compress_fragment_two_pass.rs:141:3
[INFO] [stdout]     |
[INFO] [stdout] 141 |   core::mem::replace(commands, &mut remainder[1..]);
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/enc/compress_fragment_two_pass.rs:271:9
[INFO] [stdout]     |
[INFO] [stdout] 271 |         core::mem::replace(literals, &mut new_literals[(insert as usize)..]);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/enc/compress_fragment_two_pass.rs:275:11
[INFO] [stdout]     |
[INFO] [stdout] 275 |           core::mem::replace(commands, &mut remainder[1..]);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/enc/encode.rs:761:3
[INFO] [stdout]     |
[INFO] [stdout] 761 |   core::mem::replace(&mut (*rb).data_mo, new_data);
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/enc/encode.rs:1539:5
[INFO] [stdout]      |
[INFO] [stdout] 1539 |     core::mem::replace(m8, s_orig.m8);
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 47 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/util.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |             try!(write!(f, "{:02X}", byte));
[INFO] [stdout]    |             ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/util.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |             try!( fmtr.write_fmt(format_args!("{:02x}", item)));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/bin/catbrotli.rs:92:34
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 Err(e) => panic!(e),
[INFO] [stdout]    |                                  ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_fmt_panic)]` on by default
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 Err(e) => panic!("{}", e),
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 Err(e) => std::panic::panic_any(e),
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/bin/catbrotli.rs:145:24
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 panic!(failure)
[INFO] [stdout]     |                        ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 panic!("{}", failure)
[INFO] [stdout]     |                        ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 std::panic::panic_any(failure)
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 25.50s
[INFO] running `Command { std: "docker" "inspect" "d7dd126747d9798d9f6222681a6d59edad0359048e1d2276ac657d2deb060b90", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d7dd126747d9798d9f6222681a6d59edad0359048e1d2276ac657d2deb060b90", kill_on_drop: false }`
[INFO] [stdout] d7dd126747d9798d9f6222681a6d59edad0359048e1d2276ac657d2deb060b90
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6d17cf537f252c4ee180115be8429aa3eafbc07a6883a1f65573a6bf7b639ae0
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "6d17cf537f252c4ee180115be8429aa3eafbc07a6883a1f65573a6bf7b639ae0", kill_on_drop: false }`
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/enc/input_pair.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |             try!( fmtr.write_fmt(format_args!("{:02x}", item)));
[INFO] [stdout]    |             ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/enc/input_pair.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |             try!( fmtr.write_fmt(format_args!("{:02x}", item)));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/enc/threading.rs:27:48
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub type LowLevelThreadError = std::boxed::Box<any::Any + Send + 'static>;
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn any::Any + Send + 'static`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/histogram.rs:101:3
[INFO] [stdout]     |
[INFO] [stdout] 101 |   #[inline(always)]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/histogram.rs:103:3
[INFO] [stdout]     |
[INFO] [stdout] 103 |   #[inline(always)]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/histogram.rs:105:3
[INFO] [stdout]     |
[INFO] [stdout] 105 |   #[inline(always)]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/histogram.rs:107:3
[INFO] [stdout]     |
[INFO] [stdout] 107 |   #[inline(always)]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/backward_references/mod.rs:641:3
[INFO] [stdout]     |
[INFO] [stdout] 641 |   #[inline(always)]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/backward_references/mod.rs:643:3
[INFO] [stdout]     |
[INFO] [stdout] 643 |   #[inline(always)]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/backward_references/mod.rs:645:3
[INFO] [stdout]     |
[INFO] [stdout] 645 |   #[inline(always)]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/backward_references/mod.rs:647:3
[INFO] [stdout]     |
[INFO] [stdout] 647 |   #[inline(always)]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/backward_references/mod.rs:649:3
[INFO] [stdout]     |
[INFO] [stdout] 649 |   #[inline(always)]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/backward_references/mod.rs:651:5
[INFO] [stdout]     |
[INFO] [stdout] 651 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/backward_references/mod.rs:653:5
[INFO] [stdout]     |
[INFO] [stdout] 653 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/backward_references/mod.rs:655:5
[INFO] [stdout]     |
[INFO] [stdout] 655 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/backward_references/mod.rs:657:5
[INFO] [stdout]     |
[INFO] [stdout] 657 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/backward_references/mod.rs:659:5
[INFO] [stdout]     |
[INFO] [stdout] 659 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/backward_references/mod.rs:661:3
[INFO] [stdout]     |
[INFO] [stdout] 661 |   #[inline(always)]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]    --> src/enc/parameters.rs:1:1
[INFO] [stdout]     |
[INFO] [stdout] 1   |   #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4   | / pub enum BrotliEncoderParameter {
[INFO] [stdout] 5   | |   BROTLI_PARAM_MODE = 0,
[INFO] [stdout] 6   | |   BROTLI_PARAM_QUALITY = 1,
[INFO] [stdout] 7   | |   BROTLI_PARAM_LGWIN = 2,
[INFO] [stdout] ...   |
[INFO] [stdout] 259 | |   UNUSED255=255,
[INFO] [stdout] 260 | | }
[INFO] [stdout]     | |_- not a function or static
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]   --> src/concat/mod.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout] 5  |   #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 6  | / pub enum BroCatliResult {
[INFO] [stdout] 7  | |   Success = 0,
[INFO] [stdout] 8  | |   NeedsMoreInput = 1,
[INFO] [stdout] 9  | |   NeedsMoreOutput = 2,
[INFO] [stdout] ...  |
[INFO] [stdout] 13 | |   BrotliFileNotCraftedForConcatenation = 127,
[INFO] [stdout] 14 | | }
[INFO] [stdout]    | |_- not a function or static
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]  --> src/ffi/compressor.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[no_mangle]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 9 | use core;
[INFO] [stdout]   | --------- not a function or static
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]   --> src/ffi/compressor.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 |   #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 27 | / pub enum BrotliEncoderOperation {
[INFO] [stdout] 28 | |   BROTLI_OPERATION_PROCESS = 0,
[INFO] [stdout] 29 | |   BROTLI_OPERATION_FLUSH = 1,
[INFO] [stdout] 30 | |   BROTLI_OPERATION_FINISH = 2,
[INFO] [stdout] 31 | |   BROTLI_OPERATION_EMIT_METADATA = 3,
[INFO] [stdout] 32 | | }
[INFO] [stdout]    | |_- not a function or static
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]   --> src/ffi/compressor.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 |   #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 36 | / pub enum BrotliEncoderMode {
[INFO] [stdout] 37 | |   BROTLI_MODE_GENERIC = 0,
[INFO] [stdout] 38 | |   BROTLI_MODE_TEXT = 1,
[INFO] [stdout] 39 | |   BROTLI_MODE_FONT = 2,
[INFO] [stdout] ...  |
[INFO] [stdout] 43 | |   BROTLI_MODE_FORCE_SIGNED_PRIOR = 6,
[INFO] [stdout] 44 | | }
[INFO] [stdout]    | |_- not a function or static
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]   --> src/ffi/compressor.rs:47:1
[INFO] [stdout]    |
[INFO] [stdout] 47 |   #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 48 | / pub struct BrotliEncoderState {
[INFO] [stdout] 49 | |   pub custom_allocator: CAllocator,
[INFO] [stdout] 50 | |   pub compressor: BrotliEncoderStateStruct<BrotliSubclassableAllocator>,
[INFO] [stdout] 51 | | }
[INFO] [stdout]    | |_- not a function or static
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]   --> src/ffi/broccoli.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 |   #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 16 | / pub struct BroccoliState {
[INFO] [stdout] 17 | |     more_data: *mut c_void,
[INFO] [stdout] 18 | |     current_data: [u8;120],
[INFO] [stdout] 19 | | }
[INFO] [stdout]    | |_- not a function or static
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]  --> src/ffi/multicompress/mod.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[no_mangle]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 8 | use core;
[INFO] [stdout]   | --------- not a function or static
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]    --> src/ffi/multicompress/mod.rs:192:1
[INFO] [stdout]     |
[INFO] [stdout] 192 |   #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^^^^
[INFO] [stdout] 193 |   #[repr(C)]
[INFO] [stdout] 194 | / pub struct BrotliEncoderWorkPool {
[INFO] [stdout] 195 | |   custom_allocator: CAllocator,
[INFO] [stdout] 196 | |   work_pool: enc::WorkerPool<enc::CompressionThreadResult<BrotliSubclassableAllocator>,
[INFO] [stdout] 197 | |                              UnionHasher<BrotliSubclassableAllocator>,
[INFO] [stdout] 198 | |                              BrotliSubclassableAllocator,
[INFO] [stdout] 199 | |                              (SliceRef<'static>, BrotliEncoderParams)>,
[INFO] [stdout] 200 | | }
[INFO] [stdout]     | |_- not a function or static
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enc/bit_cost.rs:200:11
[INFO] [stdout]     |
[INFO] [stdout] 200 |       let mut cur = &mut depth_histo[j];
[INFO] [stdout]     |           ----^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enc/histogram.rs:441:9
[INFO] [stdout]     |
[INFO] [stdout] 441 |     let mut h0val = &mut h0[i];
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enc/block_splitter.rs:320:11
[INFO] [stdout]     |
[INFO] [stdout] 320 |       let mut block_id_ptr = &mut block_id[byte_ix];
[INFO] [stdout]     |           ----^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enc/find_stride.rs:559:14
[INFO] [stdout]     |
[INFO] [stdout] 559 |         for (mut obe, be) in old_bit_entropy.iter_mut().zip(self.pop.iter_mut()) {
[INFO] [stdout]     |              ----^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `cur_stride`
[INFO] [stdout]   --> src/enc/stride_eval.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     cur_stride: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/enc/compress_fragment_two_pass.rs:43:3
[INFO] [stdout]    |
[INFO] [stdout] 43 |   core::mem::replace(commands, &mut remainder[1..]);
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/enc/compress_fragment_two_pass.rs:57:3
[INFO] [stdout]    |
[INFO] [stdout] 57 |   core::mem::replace(commands, &mut remainder[1..]);
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/enc/compress_fragment_two_pass.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     core::mem::replace(commands, &mut remainder[1..]);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling brotli v3.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/enc/compress_fragment_two_pass.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     core::mem::replace(commands, &mut remainder[1..]);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/enc/compress_fragment_two_pass.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     core::mem::replace(commands, &mut remainder[1..]);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/enc/compress_fragment_two_pass.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 86 |     core::mem::replace(commands, &mut remainder2[1..]);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/enc/compress_fragment_two_pass.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     core::mem::replace(commands, &mut remainder[1..]);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/enc/compress_fragment_two_pass.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     core::mem::replace(commands, &mut remainder2[1..]);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/enc/compress_fragment_two_pass.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     core::mem::replace(commands, &mut remainder[1..]);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/enc/compress_fragment_two_pass.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 107 |     core::mem::replace(commands, &mut remainder2[1..]);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/enc/compress_fragment_two_pass.rs:141:3
[INFO] [stdout]     |
[INFO] [stdout] 141 |   core::mem::replace(commands, &mut remainder[1..]);
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/enc/compress_fragment_two_pass.rs:271:9
[INFO] [stdout]     |
[INFO] [stdout] 271 |         core::mem::replace(literals, &mut new_literals[(insert as usize)..]);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/enc/compress_fragment_two_pass.rs:275:11
[INFO] [stdout]     |
[INFO] [stdout] 275 |           core::mem::replace(commands, &mut remainder[1..]);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/enc/encode.rs:761:3
[INFO] [stdout]     |
[INFO] [stdout] 761 |   core::mem::replace(&mut (*rb).data_mo, new_data);
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/enc/encode.rs:1539:5
[INFO] [stdout]      |
[INFO] [stdout] 1539 |     core::mem::replace(m8, s_orig.m8);
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 47 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> examples/decompress.rs:23:28
[INFO] [stdout]    |
[INFO] [stdout] 23 |                     panic!(e);
[INFO] [stdout]    |                            ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_fmt_panic)]` on by default
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]    |
[INFO] [stdout] 23 |                     panic!("{}", e);
[INFO] [stdout]    |                            ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 23 |                     std::panic::panic_any(e);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> examples/decompress.rs:30:42
[INFO] [stdout]    |
[INFO] [stdout] 30 |                         Err(e) => panic!(e),
[INFO] [stdout]    |                                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]    |
[INFO] [stdout] 30 |                         Err(e) => panic!("{}", e),
[INFO] [stdout]    |                                          ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 30 |                         Err(e) => std::panic::panic_any(e),
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/bin/catbrotli.rs:92:34
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 Err(e) => panic!(e),
[INFO] [stdout]    |                                  ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_fmt_panic)]` on by default
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 Err(e) => panic!("{}", e),
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 Err(e) => std::panic::panic_any(e),
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/bin/catbrotli.rs:145:24
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 panic!(failure)
[INFO] [stdout]     |                        ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 panic!("{}", failure)
[INFO] [stdout]     |                        ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 std::panic::panic_any(failure)
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> examples/compress.rs:24:28
[INFO] [stdout]    |
[INFO] [stdout] 24 |                     panic!(e);
[INFO] [stdout]    |                            ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_fmt_panic)]` on by default
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]    |
[INFO] [stdout] 24 |                     panic!("{}", e);
[INFO] [stdout]    |                            ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 24 |                     std::panic::panic_any(e);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> examples/compress.rs:33:40
[INFO] [stdout]    |
[INFO] [stdout] 33 | ...                   panic!(e)
[INFO] [stdout]    |                              ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]    |
[INFO] [stdout] 33 |                                 panic!("{}", e)
[INFO] [stdout]    |                                        ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 33 |                                 std::panic::panic_any(e)
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> examples/compress.rs:39:42
[INFO] [stdout]    |
[INFO] [stdout] 39 |                         Err(e) => panic!(e),
[INFO] [stdout]    |                                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]    |
[INFO] [stdout] 39 |                         Err(e) => panic!("{}", e),
[INFO] [stdout]    |                                          ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 39 |                         Err(e) => std::panic::panic_any(e),
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/util.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |             try!(write!(f, "{:02X}", byte));
[INFO] [stdout]    |             ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/util.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |             try!( fmtr.write_fmt(format_args!("{:02x}", item)));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/test_custom_dict.rs:116:13
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let mut input = brotli;
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/bin/test_broccoli.rs:43:32
[INFO] [stdout]    |
[INFO] [stdout] 43 |               Err(e) => panic!(e),
[INFO] [stdout]    |                                ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_fmt_panic)]` on by default
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]    |
[INFO] [stdout] 43 |               Err(e) => panic!("{}", e),
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 43 |               Err(e) => std::panic::panic_any(e),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/bin/test_broccoli.rs:65:30
[INFO] [stdout]    |
[INFO] [stdout] 65 |                       panic!(failure);
[INFO] [stdout]    |                              ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]    |
[INFO] [stdout] 65 |                       panic!("{}", failure);
[INFO] [stdout]    |                              ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 65 |                       std::panic::panic_any(failure);
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/bin/test_broccoli.rs:97:18
[INFO] [stdout]    |
[INFO] [stdout] 97 |           panic!(failure)
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]    |
[INFO] [stdout] 97 |           panic!("{}", failure)
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 97 |           std::panic::panic_any(failure)
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/bin/test_custom_dict.rs:120:34
[INFO] [stdout]     |
[INFO] [stdout] 120 |                 Err(e) => panic!(e),
[INFO] [stdout]     |                                  ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]     |
[INFO] [stdout] 120 |                 Err(e) => panic!("{}", e),
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 120 |                 Err(e) => std::panic::panic_any(e),
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/bin/test_custom_dict.rs:142:40
[INFO] [stdout]     |
[INFO] [stdout] 142 | ...                   panic!(failure);
[INFO] [stdout]     |                              ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]     |
[INFO] [stdout] 142 |                                 panic!("{}", failure);
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 142 |                                 std::panic::panic_any(failure);
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/bin/test_custom_dict.rs:172:24
[INFO] [stdout]     |
[INFO] [stdout] 172 |                 panic!(failure)
[INFO] [stdout]     |                        ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]     |
[INFO] [stdout] 172 |                 panic!("{}", failure)
[INFO] [stdout]     |                        ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 172 |                 std::panic::panic_any(failure)
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/bin/integration_tests.rs:146:29
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 _ => panic!(e),
[INFO] [stdout]     |                             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 _ => panic!("{}", e),
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 _ => std::panic::panic_any(e),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/bin/integration_tests.rs:151:24
[INFO] [stdout]     |
[INFO] [stdout] 151 |                 panic!(io::Error::new(io::ErrorKind::UnexpectedEof, "Read EOF"));
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]     |
[INFO] [stdout] 151 |                 panic!("{}", io::Error::new(io::ErrorKind::UnexpectedEof, "Read EOF"));
[INFO] [stdout]     |                        ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 151 |                 std::panic::panic_any(io::Error::new(io::ErrorKind::UnexpectedEof, "Read EOF"));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/enc/input_pair.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |             try!( fmtr.write_fmt(format_args!("{:02x}", item)));
[INFO] [stdout]    |             ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/enc/input_pair.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |             try!( fmtr.write_fmt(format_args!("{:02x}", item)));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/enc/threading.rs:27:48
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub type LowLevelThreadError = std::boxed::Box<any::Any + Send + 'static>;
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn any::Any + Send + 'static`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/histogram.rs:101:3
[INFO] [stdout]     |
[INFO] [stdout] 101 |   #[inline(always)]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/histogram.rs:103:3
[INFO] [stdout]     |
[INFO] [stdout] 103 |   #[inline(always)]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/histogram.rs:105:3
[INFO] [stdout]     |
[INFO] [stdout] 105 |   #[inline(always)]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/histogram.rs:107:3
[INFO] [stdout]     |
[INFO] [stdout] 107 |   #[inline(always)]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/backward_references/mod.rs:641:3
[INFO] [stdout]     |
[INFO] [stdout] 641 |   #[inline(always)]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/backward_references/mod.rs:643:3
[INFO] [stdout]     |
[INFO] [stdout] 643 |   #[inline(always)]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/backward_references/mod.rs:645:3
[INFO] [stdout]     |
[INFO] [stdout] 645 |   #[inline(always)]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/backward_references/mod.rs:647:3
[INFO] [stdout]     |
[INFO] [stdout] 647 |   #[inline(always)]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/backward_references/mod.rs:649:3
[INFO] [stdout]     |
[INFO] [stdout] 649 |   #[inline(always)]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/backward_references/mod.rs:651:5
[INFO] [stdout]     |
[INFO] [stdout] 651 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/backward_references/mod.rs:653:5
[INFO] [stdout]     |
[INFO] [stdout] 653 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/backward_references/mod.rs:655:5
[INFO] [stdout]     |
[INFO] [stdout] 655 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/backward_references/mod.rs:657:5
[INFO] [stdout]     |
[INFO] [stdout] 657 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/backward_references/mod.rs:659:5
[INFO] [stdout]     |
[INFO] [stdout] 659 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/enc/backward_references/mod.rs:661:3
[INFO] [stdout]     |
[INFO] [stdout] 661 |   #[inline(always)]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]    --> src/enc/parameters.rs:1:1
[INFO] [stdout]     |
[INFO] [stdout] 1   |   #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4   | / pub enum BrotliEncoderParameter {
[INFO] [stdout] 5   | |   BROTLI_PARAM_MODE = 0,
[INFO] [stdout] 6   | |   BROTLI_PARAM_QUALITY = 1,
[INFO] [stdout] 7   | |   BROTLI_PARAM_LGWIN = 2,
[INFO] [stdout] ...   |
[INFO] [stdout] 259 | |   UNUSED255=255,
[INFO] [stdout] 260 | | }
[INFO] [stdout]     | |_- not a function or static
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]   --> src/concat/mod.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout] 5  |   #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 6  | / pub enum BroCatliResult {
[INFO] [stdout] 7  | |   Success = 0,
[INFO] [stdout] 8  | |   NeedsMoreInput = 1,
[INFO] [stdout] 9  | |   NeedsMoreOutput = 2,
[INFO] [stdout] ...  |
[INFO] [stdout] 13 | |   BrotliFileNotCraftedForConcatenation = 127,
[INFO] [stdout] 14 | | }
[INFO] [stdout]    | |_- not a function or static
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]  --> src/ffi/compressor.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[no_mangle]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 9 | use core;
[INFO] [stdout]   | --------- not a function or static
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]   --> src/ffi/compressor.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 |   #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 27 | / pub enum BrotliEncoderOperation {
[INFO] [stdout] 28 | |   BROTLI_OPERATION_PROCESS = 0,
[INFO] [stdout] 29 | |   BROTLI_OPERATION_FLUSH = 1,
[INFO] [stdout] 30 | |   BROTLI_OPERATION_FINISH = 2,
[INFO] [stdout] 31 | |   BROTLI_OPERATION_EMIT_METADATA = 3,
[INFO] [stdout] 32 | | }
[INFO] [stdout]    | |_- not a function or static
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]   --> src/ffi/compressor.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 |   #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 36 | / pub enum BrotliEncoderMode {
[INFO] [stdout] 37 | |   BROTLI_MODE_GENERIC = 0,
[INFO] [stdout] 38 | |   BROTLI_MODE_TEXT = 1,
[INFO] [stdout] 39 | |   BROTLI_MODE_FONT = 2,
[INFO] [stdout] ...  |
[INFO] [stdout] 43 | |   BROTLI_MODE_FORCE_SIGNED_PRIOR = 6,
[INFO] [stdout] 44 | | }
[INFO] [stdout]    | |_- not a function or static
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]   --> src/ffi/compressor.rs:47:1
[INFO] [stdout]    |
[INFO] [stdout] 47 |   #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 48 | / pub struct BrotliEncoderState {
[INFO] [stdout] 49 | |   pub custom_allocator: CAllocator,
[INFO] [stdout] 50 | |   pub compressor: BrotliEncoderStateStruct<BrotliSubclassableAllocator>,
[INFO] [stdout] 51 | | }
[INFO] [stdout]    | |_- not a function or static
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]   --> src/ffi/broccoli.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 |   #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 16 | / pub struct BroccoliState {
[INFO] [stdout] 17 | |     more_data: *mut c_void,
[INFO] [stdout] 18 | |     current_data: [u8;120],
[INFO] [stdout] 19 | | }
[INFO] [stdout]    | |_- not a function or static
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]  --> src/ffi/multicompress/mod.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[no_mangle]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 8 | use core;
[INFO] [stdout]   | --------- not a function or static
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a function or static
[INFO] [stdout]    --> src/ffi/multicompress/mod.rs:192:1
[INFO] [stdout]     |
[INFO] [stdout] 192 |   #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^^^^
[INFO] [stdout] 193 |   #[repr(C)]
[INFO] [stdout] 194 | / pub struct BrotliEncoderWorkPool {
[INFO] [stdout] 195 | |   custom_allocator: CAllocator,
[INFO] [stdout] 196 | |   work_pool: enc::WorkerPool<enc::CompressionThreadResult<BrotliSubclassableAllocator>,
[INFO] [stdout] 197 | |                              UnionHasher<BrotliSubclassableAllocator>,
[INFO] [stdout] 198 | |                              BrotliSubclassableAllocator,
[INFO] [stdout] 199 | |                              (SliceRef<'static>, BrotliEncoderParams)>,
[INFO] [stdout] 200 | | }
[INFO] [stdout]     | |_- not a function or static
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enc/bit_cost.rs:200:11
[INFO] [stdout]     |
[INFO] [stdout] 200 |       let mut cur = &mut depth_histo[j];
[INFO] [stdout]     |           ----^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enc/histogram.rs:441:9
[INFO] [stdout]     |
[INFO] [stdout] 441 |     let mut h0val = &mut h0[i];
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enc/block_splitter.rs:320:11
[INFO] [stdout]     |
[INFO] [stdout] 320 |       let mut block_id_ptr = &mut block_id[byte_ix];
[INFO] [stdout]     |           ----^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/enc/find_stride.rs:559:14
[INFO] [stdout]     |
[INFO] [stdout] 559 |         for (mut obe, be) in old_bit_entropy.iter_mut().zip(self.pop.iter_mut()) {
[INFO] [stdout]     |              ----^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `cur_stride`
[INFO] [stdout]   --> src/enc/stride_eval.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     cur_stride: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/ffi/multicompress/test.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |     _ => panic!(ret2),
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_fmt_panic)]` on by default
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]    |
[INFO] [stdout] 42 |     _ => panic!("{}", ret2),
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 42 |     _ => std::panic::panic_any(ret2),
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/ffi/multicompress/test.rs:85:17
[INFO] [stdout]    |
[INFO] [stdout] 85 |     _ => panic!(ret2),
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]    |
[INFO] [stdout] 85 |     _ => panic!("{}", ret2),
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 85 |     _ => std::panic::panic_any(ret2),
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/ffi/multicompress/test.rs:125:17
[INFO] [stdout]     |
[INFO] [stdout] 125 |     _ => panic!(ret2),
[INFO] [stdout]     |                 ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]     |
[INFO] [stdout] 125 |     _ => panic!("{}", ret2),
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 125 |     _ => std::panic::panic_any(ret2),
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/ffi/multicompress/test.rs:163:17
[INFO] [stdout]     |
[INFO] [stdout] 163 |     _ => panic!(ret2),
[INFO] [stdout]     |                 ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]     |
[INFO] [stdout] 163 |     _ => panic!("{}", ret2),
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 163 |     _ => std::panic::panic_any(ret2),
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/ffi/multicompress/test.rs:205:17
[INFO] [stdout]     |
[INFO] [stdout] 205 |     _ => panic!(ret2),
[INFO] [stdout]     |                 ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]     |
[INFO] [stdout] 205 |     _ => panic!("{}", ret2),
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 205 |     _ => std::panic::panic_any(ret2),
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/ffi/multicompress/test.rs:245:17
[INFO] [stdout]     |
[INFO] [stdout] 245 |     _ => panic!(ret2),
[INFO] [stdout]     |                 ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]     |
[INFO] [stdout] 245 |     _ => panic!("{}", ret2),
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 245 |     _ => std::panic::panic_any(ret2),
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/enc/compress_fragment_two_pass.rs:43:3
[INFO] [stdout]    |
[INFO] [stdout] 43 |   core::mem::replace(commands, &mut remainder[1..]);
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/enc/compress_fragment_two_pass.rs:57:3
[INFO] [stdout]    |
[INFO] [stdout] 57 |   core::mem::replace(commands, &mut remainder[1..]);
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/enc/compress_fragment_two_pass.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     core::mem::replace(commands, &mut remainder[1..]);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/enc/compress_fragment_two_pass.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     core::mem::replace(commands, &mut remainder[1..]);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/enc/compress_fragment_two_pass.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     core::mem::replace(commands, &mut remainder[1..]);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/enc/compress_fragment_two_pass.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 86 |     core::mem::replace(commands, &mut remainder2[1..]);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/enc/compress_fragment_two_pass.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     core::mem::replace(commands, &mut remainder[1..]);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/enc/compress_fragment_two_pass.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     core::mem::replace(commands, &mut remainder2[1..]);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/enc/compress_fragment_two_pass.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     core::mem::replace(commands, &mut remainder[1..]);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/enc/compress_fragment_two_pass.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 107 |     core::mem::replace(commands, &mut remainder2[1..]);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/enc/compress_fragment_two_pass.rs:141:3
[INFO] [stdout]     |
[INFO] [stdout] 141 |   core::mem::replace(commands, &mut remainder[1..]);
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/enc/compress_fragment_two_pass.rs:271:9
[INFO] [stdout]     |
[INFO] [stdout] 271 |         core::mem::replace(literals, &mut new_literals[(insert as usize)..]);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/enc/compress_fragment_two_pass.rs:275:11
[INFO] [stdout]     |
[INFO] [stdout] 275 |           core::mem::replace(commands, &mut remainder[1..]);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/enc/encode.rs:761:3
[INFO] [stdout]     |
[INFO] [stdout] 761 |   core::mem::replace(&mut (*rb).data_mo, new_data);
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/enc/encode.rs:1539:5
[INFO] [stdout]      |
[INFO] [stdout] 1539 |     core::mem::replace(m8, s_orig.m8);
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 53 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 34.47s
[INFO] running `Command { std: "docker" "inspect" "6d17cf537f252c4ee180115be8429aa3eafbc07a6883a1f65573a6bf7b639ae0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6d17cf537f252c4ee180115be8429aa3eafbc07a6883a1f65573a6bf7b639ae0", kill_on_drop: false }`
[INFO] [stdout] 6d17cf537f252c4ee180115be8429aa3eafbc07a6883a1f65573a6bf7b639ae0
